package br.com.senac.pi.modelo;

import br.com.senac.pi.interfaces.PIDataObject;
import br.com.senac.pi.util.FilesType;

/**
 * Exemplo de implementacao do modelo utilizando Sorvete
 *
 */
public class Fabricante implements PIDataObject{

	/**
	 * Tipo do arquivo
	 */
	FilesType TYPE = FilesType.FABRICANTE;
	
	private Long id;
	private String nome;
	
	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public Long getId() {
		return id;
	}

	@Override
	public void setId(Long id) {
		this.id = id;		
	}

	@Override
	public FilesType getFileType() {
		return TYPE;
	}

	@Override
	public String persistenceData() {
		return id + ";" + nome;
	}

	@Override
	public void parseData(String data) {
		String [] dados = data.split(";");
		this.id = Long.parseLong(dados[0]);
		this.nome = dados[1];
	}
	
	public boolean compare(Fabricante fabricante) {
		if (fabricante == null) {
			return false;
		}
		
		if (fabricante.getId() != null && fabricante.getId().longValue() == id.intValue())
			return true;
		if (fabricante.getNome() != null && (fabricante.getNome().toUpperCase().equals(nome.toUpperCase()) || nome.toUpperCase().contains(fabricante.getNome().toUpperCase())))
			return true;
		
		return false;
	}

	public String printData() {
		return "Fabricante: " + nome;
	}

	@Override
	public String getDataSorting() {
		return nome;		
	}
}
